home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / dev / amos / PrgCollection.lha / Scheinwerfer2.AMOS / Scheinwerfer2.amosSourceCode
Encoding:
AMOS Source Code  |  1994-03-12  |  1.6 KB  |  66 lines

  1. ' *************************************
  2. ' *                                   *
  3. ' *        Scheinwerfer 2 V1.0        *  
  4. ' *      Written by Chris Hodges      *  
  5. ' *                                   *
  6. ' *************************************
  7. '
  8. ' Dieses Programm simuliert einen Scheinwerfer 
  9. ' Es sind Bilder bis 16 Farben erlaubt.  
  10. ' Au�erdem k�nnen die Farben des Bereichs, der nicht vom 
  11. ' Scheinwerfer bestrahlt wird ge�ndert werden (siehe unten). 
  12. ' Die Maus sollte nicht zu schnell bewegt werden.
  13. '
  14. Screen Open 1,320,16,32,0
  15. Flash Off : Screen Hide 1
  16. Screen Open 0,320,256,32,0
  17. Curs Off : Flash Off : Paper 0 : Cls 0
  18. For A=0 To 31 : Colour A,0 : Next 
  19. For A=1 To 20
  20.   Cls 31 : Ink 0 : Circle 48,48,A*2
  21.   Paint 48,48
  22.   Get Block A,0,0,96,96
  23. Next 
  24. Cls 0
  25. Load Iff "Test16.iff"
  26. Screen 1 : Get Palette 0 : Screen 0 : For A=0 To 31 : Colour A,0 : Next 
  27. Fill Logbase(4) To Logbase(4)+(Screen Width/8)*Screen Height,-1
  28. Limit Mouse 
  29. Screen 1
  30. For A=0 To 15
  31.   C=Colour(A)
  32.   ' Hier k�nnen vier vorgegebene Routinen benutzt werden:  
  33.   ' Gosub HALFBRIGHT: Verdunkelt das Bild  
  34.   ' Gosub INVERS    : Invertiert alle Farben   
  35.   ' Gosub BLACKWHITE: Grautonbild    
  36.   ' Gosub ZERO      : Alles schwarz  
  37.   Gosub HALFBRIGHT
  38.   Colour A+16,C
  39. Next 
  40. Screen 0 : Fade 3 To 1
  41. A=-19
  42. Hide 
  43. Do 
  44.   X=X Mouse-128 : Y=Y Mouse-40
  45.   Wait Vbl : Put Block Abs(A)+1,X-48,Y-48,%10000
  46.   Add A,1,-19 To 19
  47. Loop 
  48. End 
  49. INVERS:
  50.   C=$FFF-C
  51. Return 
  52. ZERO:
  53.   C=0
  54. Return 
  55. HALFBRIGHT:
  56.   R=(C and $F00)/$100
  57.   G=(C and $F0)/$10
  58.   B=C and $F
  59.   C=(R/3)*$100+(G/3)*$10+(B/3)
  60. Return 
  61. BLACKWHITE:
  62.   R=(C and $F00)/$100
  63.   G=(C and $F0)/$10
  64.   B=C and $F
  65.   C=(R+G+B)/3*$111
  66. Return